Various techniques have been developed to improve the security of information accessible via computer networks. Various protocols for cryptographically protected communications sessions, for instance, provide mechanisms to ensure the confidentiality and/or integrity of data passing between two devices on a network. At the same time, computer systems themselves have become more sophisticated. A distributed computer system, for instance, may comprise multiple individual computer systems that communicate over a network, each playing a particular role in the distributed computer system. Moreover, services provided by distributed computer systems can involve complex orchestration among multiple individual computer systems. While many conventional protocols for cryptographically protected communications sessions provide high levels of security between pairs of computer systems, their use in such distributed computer systems can be highly complex and cumbersome to manage due to the number of computer systems involved.
In addition, operators of websites and other systems find themselves in a predicament in which the more popular a system is, the more valuable the system is, and the more attractive the system is to those with malicious intent. At the same time, the more popular a system is, the greater the number of separate computing devices that support the system. A popular electronic commerce system, for example, may utilize thousands of webservers to handle consumer demand. To ensure the security of data utilized by such a system, a cryptographic key (e.g., a private key corresponding to a website certificate) may be provided to thousands of different devices. Management of such devices to protect the cryptographic key and, therefore, protect data, becomes increasingly difficult as the size of a system grows. At the same time, service providers with such systems often need flexibility to change the size of their systems to keep up with changes in demand.